iT邦幫忙

2026 iThome 鐵人賽

DAY 1
0
AI Engineering

讓 AI 學會賣水果:30 天實作強化學習定價與採收決策系列 第 1

水果今天該賣多少錢?從一個經營問題開始學強化學習

  • 分享至 

  • xImage
  •  

Day 1:我想讓 AI 學會賣水果

系列:讓 AI 學會賣水果:30 天實作強化學習定價與採收決策

從賣水果這件事開始

這次參加鐵人賽,我想分享自己在 Fruit_RL 專案中學習與實作強化學習的過程。選擇的題材很生活化,就是賣水果。

想像每天開店前,我們都要決定今天採多少水果,以及每公斤要賣多少錢。採太多,可能賣不完;採太少,客人來了卻沒貨。價格訂高一點,可能賺得比較多,也可能讓客人不想買。

水果還有保存期限。今天沒賣完的水果留到明天,新鮮度會改變,能放的時間也更短。所以今天的選擇,往往會影響明天要怎麼做。

我想透過這個專案探索:如果讓 AI 在模擬的水果店裡反覆嘗試,它能不能學到一些有用的經營方式?

強化學習可以怎麼理解?

強化學習的英文是 Reinforcement Learning,簡稱 RL。可以先把它想成一種「從嘗試的結果中學習」的方法。

在這個專案裡,AI 會先看看目前的庫存、天氣和過去的需求,再決定售價與採收量。程式接著模擬當天的銷售,算出賺了多少、有多少需求沒被滿足,以及多少水果最後報廢。

我們會把這些結果換成分數,讓 AI 在訓練時用來調整之後的選擇。這個分數,在強化學習裡就叫作「獎勵」。這也是 Gymnasium 官方入門文件 所介紹的基本概念。

例如,庫存裡有不少快過期的水果,降價也許能幫助清掉庫存。但如果降得太多,即使全部賣完,收入也未必理想。AI 要學習的,就是這些選擇之間的取捨。

它也不會提前知道當天到底有多少客人想買。做決定時,只能利用當下能取得的資訊,再承擔選擇帶來的結果。

這個專案會做些什麼?

目前的 Fruit_RL 以棗子、荔枝和芒果為例,用 Python 建立模擬環境,讓 AI 決定售價與採收量。

接下來的文章,我會先分享怎麼把水果經營的問題整理成程式,再慢慢介紹訓練方式,以及怎麼看懂模型做出的選擇。過程中會接觸 DQN 和 PPO,這是兩種強化學習方法,等用到時再逐步說明。

我也會保留一些簡單規則來比較,例如庫存多時少採一點、快過期時調低售價。這樣才能知道,花時間訓練出來的模型,究竟在哪些地方有幫助。

比較時,我會一起看利潤、缺貨和報廢。因為讓 AI 學習的分數包含多種考量,分數比較高,不一定代表賺得比較多。如果模型表現不如簡單規則,也會把結果留下來,分享可能的原因。

接下來 30 天想分享的事

這個系列會從基本概念開始,逐步分享環境設計、模型訓練、結果比較,以及最後的操作展示。我希望每篇都圍繞一個小問題,讓剛接觸 RL 的人也能跟著理解。

目前用到的價格、成本和需求都是模擬設定,還不能直接當成真實果園的經營建議。不過,透過這個可以反覆測試的環境,我們能比較清楚地看到,不同選擇會帶來什麼結果。

我希望這 30 天能把專案中的想法、做法和遇到的問題整理下來,也和大家一起了解,AI 是怎麼從一次次嘗試中學習做決定的。

第一天就先從這個想法開始。下一篇,我會分享:要讓 AI 幫忙賣水果,得先讓它知道哪些事情?


下一篇
Day 2:讓 AI 賣水果之前,先讓它了解店裡的狀況
系列文
讓 AI 學會賣水果:30 天實作強化學習定價與採收決策2
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言